a = 31
b = -13
c = 2

assert a.__abs__() == abs(a) == a
assert a.__add__(b) == a + b == 18
assert a.__and__(b) == (a & b) == 19
assert a.__class__ == b.__class__
assert -3 < a / b < -2
assert a.__divmod__(b) == divmod(a,b) == (-3,-8)
assert a.__float__() == float(a)
assert a.__floordiv__(b) == a // b == -3
assert hex(a) == '0x1f'
assert a.__int__() == int(a)
assert a.__invert__() == ~ a == -32
assert a.__lshift__(3) == a << 3 == 248
assert a % b == -8
assert a * b == -403
assert - a == -31
assert oct(a) == '0o37'
assert a | b == -1
assert a.__pos__() == +a == 31
assert a.__pow__(2) == a**2 == 961
assert a.__radd__(b) == b + a
assert a.__rand__(b) == b & a
assert a.__repr__() == '31'
assert a.__rfloordiv__(b) == b // a == -1
assert c.__rlshift__(a) == a << c == 124
assert a.__rmod__(b) ==  b % a == 18
assert a.__rmul__(b) == b * a == -403
assert a.__ror__(b) == b | a == -1
assert c.__rpow__(a) == a ** 2 == 961
assert c.__rrshift__(a) == a >> c == 7
assert a.__rshift__(2) ==  a >> c == 7
assert a.__rsub__(b) == b - a == -44
assert a.__rxor__(b) == b ^ a == -20
assert a.__str__() == str(a) == '31'
assert a.__sub__(b) == a - b == 44
assert -3 < a.__truediv__(b) < -2
assert a.__xor__(b) == a ^ b == -20
